/*=============================================================================
* File Name : ApplicationRunner.h                        Ver : 1.00  Date : 2011/08/13
*
* Description :
*
*       アプリケーション実行.
*
* Author : yuuki tsuchida.
*============================================================================*/
#ifndef _APPLICATION_RUNNER_H_
#define _APPLICATION_RUNNER_H_

#include "FrameControler.h"
#include "CaluculateFPS.h"
#include "ApplicationMain.h"

/**
 * @brief アプリケーション実行．
 */
class ApplicationRunner
{
public:
	/*===========================================================================*/
	/**
	 * コンストラクタ．
	 *
	 * @param [in]  fps FPS．
	 */
	ApplicationRunner( int fps = 30 );

	/*===========================================================================*/
	/**
	 * 初期化処理．
	 */
	void initialize();

	/*===========================================================================*/
	/**
	 * アプリケーションの実行．
	 */
	void run();

	/*===========================================================================*/
	/**
	 * 終了処理．
	 */
	void finish();

	/*===========================================================================*/
	/**
	 * レジューム．
	 */
	void resume();

	/*===========================================================================*/
	/**
	 * タッチイベント．
	 *
	 * @param [in]  x 		X座標．
	 * @param [in]  y 		Y座標．
	 * @param [in]  type 	イベントタイプ．
	 */
	void touchEvent( float x, float y, int type );

private:
	/** @brief フレーム制御用 */
	FrameControler		m_frameControler;

	/** @brief アプリケーションメイン */
	ApplicationMain		m_appliMain;

	/** @brief FPS計測 */
	CaluculateFPS		m_caluculateFPS;
};

#endif

/*========= End of File =====================================================*/
